package com.ruoyi.project.system.course.service;

import com.ruoyi.project.system.course.domain.Course;
import java.util.List;

/**
 * 课程 服务层
 * 
 * @author Waynnn
 * @date 2019-03-21
 */
public interface ICourseService 
{
	/**
     * 查询课程信息
     * 
     * @param courseId 课程ID
     * @return 课程信息
     */
	public Course selectCourseById(Long courseId);


	/**
     * 查询课程列表
     * 
     * @param course 课程信息
     * @return 课程集合
     */
	public List<Course> selectCourseList(Course course);
	
	/**
     * 新增课程
     * 
     * @param course 课程信息
     * @return 结果
     */
	public int insertCourse(Course course);


	/**
	 * 新增课程班级关联
	 *
	 * @param course 课程信息
	 *
	 */
	public void insertCourseClass(Course course);

	public void insertCourseTeacher(Course course);

	/**
     * 修改课程
     * 
     * @param course 课程信息
     * @return 结果
     */
	public int updateCourse(Course course);

	/**
	 * 插入初始化的课程安排数据
	 * @param course
	 */
	public void insertCourseArrangeEmpty(Course course);
	/**
     * 删除课程信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteCourseByIds(String ids) throws Exception;

	/**
	 * 根据课程ID查询课程任教信息
	 *
	 * @param  curseId 课程ID
	 * @return 结果
	 */
	public String selectTeacherCourseGroup(Long curseId);

	/**
	 * 根据课程ID查询班级开课信息
	 *
	 * @param  curseId 课程ID
	 * @return 结果
	 */
	public String selectClassCourseGroup(Long curseId);

	/**
	 * 用户状态修改
	 *
	 * @param course 课程信息
	 * @return 结果
	 */
	public int changeStatus(Course course);
}
